package org.dromara.bzIns.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.poi.hpsf.Blob;
import org.dromara.bzIns.domain.InsInsure;
import org.dromara.bzIns.domain.UserCar;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 用户汽车视图对象 bz_user_car
 *
 * @author bz_huaYal9146
 * @date 2025-03-28
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = UserCar.class)
public class UserCarVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    //关联保单记录表
    private List<InsInsureVo> insureVoList;

    //关联报价
    private List<InsQuoteVo> insQuoteVoList;

    //汽车图标
    private Blob carIcon;

    /**
     * 用户汽车id
     */
    @ExcelProperty(value = "用户汽车id")
    private Long carId;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    private Long userId;

    /**
     * 车牌号
     */
    @ExcelProperty(value = "车牌号")
    private String carPlate;

    /**
     * 汽车名称
     */
    @ExcelProperty(value = "汽车名称")
    private String carName;

    /**
     * 行驶证
     */
    @ExcelProperty(value = "行驶证")
    private String drivingLicense;

    /**
     * 品牌型号
     */
    @ExcelProperty(value = "品牌型号")
    private String brandModel;

    /**
     * 车辆识别代码
     */
    @ExcelProperty(value = "车辆识别代码")
    private String vehicleIdCode;

    /**
     * 发动机号码
     */
    @ExcelProperty(value = "发动机号码")
    private String engineCode;

    /**
     * 注册日期
     */
    @ExcelProperty(value = "注册日期")
    private Date egistrationDate;

    /**
     * 发证日期
     */
    @ExcelProperty(value = "发证日期")
    private Date issueDate;

    /**
     * 车主姓名
     */
    @ExcelProperty(value = "车主姓名")
    private String ownerName;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    private String ownerIdCard;

    /**
     * 身份证起始有效期
     */
    @ExcelProperty(value = "身份证起始有效期")
    private Date idCardStartTime;

    /**
     * 身份证结束有效期
     */
    @ExcelProperty(value = "身份证结束有效期")
    private Date idCardEndTime;

    /**
     * 车主联系方式
     */
    @ExcelProperty(value = "车主联系方式")
    private String ownerPhone;

    /**
     * 是否显示  0-显示，1-不显示
     */
    @ExcelProperty(value = "是否显示  0-显示，1-不显示")
    private Long isDisplay;


}
